import ast

from 程序核心代码.ast节点.节点定义.基础定义.ast节点基础定义 import ast节点基础模型
from 程序核心代码.mvvm重构.基础定义.节点管理器.自动节点注册表 import 注册节点模型, 节点模型匹配器


@注册节点模型(ast.Expr)
class 孤立的表达式ast节点基础模型(ast节点基础模型):



    def __init__(self,ast节点, 所属节点模型管理器,上级节点=None ,节点位置=None ,内部节点=None):
        self.内部节点= 内部节点
        super().__init__(ast节点, 所属节点模型管理器,"孤立的表达式ast节点基础模型",上级节点=上级节点, 节点位置=节点位置)
        # value 保存本节中的其他节点之一，一个 Constant, Name, Lambda, Yield 或者 YieldFrom 节点模型。
        self.节点类型 = "孤立的表达式ast节点基础模型"
        self.是否保留内部ast节点 = True
    def 节点数据解析(self):
        if not self.内部节点 :
            self.内部节点 = 节点模型匹配器(self._ast节点.value, self.所属节点模型管理器, 上级节点=self)
        else:
            self.内部节点.上级节点= self

    def 删除节点(self,要删除的节点=None):
        if 要删除的节点.上级节点 :
            if 要删除的节点.上级节点.节点ast类型== ast.Expr:
                要删除的节点.上级节点=None


        #要删除的节点.删除节点()
        super().删除节点()